package com.xgk.boot.module.core.dal.entity.order;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xgk.boot.framework.mybatis.core.dataobject.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;

/**
 * 订单取消记录日志实体类
 * 对应数据库表：order_cancel_log
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("order_cancel_log")
public class OrderCancelLogDO extends BaseDO {
    /**
     * 主键ID，自增
     */
    @TableId(value = "cancel_id", type = IdType.AUTO)
    private Long cancelId;

    /**
     * 操作类型
     */
    @TableField("op_type")
    private String opType;

    /**
     * 订单ID
     */
    @TableField("order_id")
    private Long orderId;

    /**
     * 订单编号
     */
    @TableField("order_code")
    private String orderCode;

    /**
     * 客户代码
     */
    @TableField("customer_code")
    private String customerCode;

    /**
     * 物流产品代码
     */
    @TableField("sm_code")
    private String smCode;

    /**
     * 服务商代码
     */
    @TableField("as_code")
    private String asCode;

    /**
     * 取消类型
     * 0:系统取消 1:API取消
     */
    @TableField("ol_type")
    private Integer olType;

    /**
     * 订单操作前状态
     */
    @TableField("order_status_from")
    private Integer orderStatusFrom;

    /**
     * 订单操作后状态
     */
    @TableField("order_status_to")
    private Integer orderStatusTo;

    /**
     * 记录添加时间
     */
    @TableField("ol_add_time")
    private Date olAddTime;

    /**
     * 操作用户ID
     * 0:系统操作 -1:客户自操作
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 操作IP地址
     */
    @TableField("ol_ip")
    private String olIp;

    /**
     * 备注信息
     */
    @TableField("ol_comments")
    private String olComments;

}
